//
// Created by fanghr on 17-12-30.
//

#ifndef PROJECT_GLOBAL_VAR_H
#define PROJECT_GLOBAL_VAR_H
#include "../sharedmemory/shm.h"
#include "../include.h"
#include "../protocal/imu/imu_protocal.h"
#include "rw_lock.h"

namespace imu_global {
    struct {
        imu_acceleration data;
        rw_lock lock;
    } imu_acceleration_pack;

    struct {
        imu_angle data;
        rw_lock lock;
    } imu_angle_pack;

    struct {
        imu_angularVelocity data;
        rw_lock lock;
    } imu_angularVelocity_pack;

    struct {
        imu_groundSpeed data;
        rw_lock lock;
    } imu_groundSpeed_pack;

    struct {
        imu_latitudeAndLongitudeOutput data;
        rw_lock lock;
    } imu_latitudeAndLongitudeOutput_pack;

    struct {
        imu_magneticOutput data;
        rw_lock lock;
    } imu_magneticOutput_pack;

    struct {
        imu_portStatus data;
        rw_lock lock;
    } imu_portStatus_pack;

    struct {
        imu_pressureAndHeightOutput data;
        rw_lock lock;
    } imu_pressureAndHeightOutput_pack;

    struct {
        imu_quaternion data;
        rw_lock lock;
    } imu_quaternion_pack;

    struct {
        imu_time data;
        rw_lock lock;
    } imu_time_pack;

}
#endif //PROJECT_GLOBAL_VAR_H
